package com.oner365.test.function.demo;

import java.util.ArrayList;
import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class FunctionDemo {

  private static final Logger LOGGER = LoggerFactory.getLogger(FunctionDemo.class);

  public static void main(String[] args) {
    // 根据boolean判断是否抛出异常
    isException(false);

    // 判断，具体业务逻辑可以自己组织
    isTureOrFalse(false);

    //判断是否为空，返回不同结果
    isBlankOrNoBlank("123");
  }

  //简单判断
  public static void isException(boolean b) {
    DemoUtils.isException(b).throwMessage("主动抛出异常");
  }

  //Runnable运行函数
  public static void isTureOrFalse(boolean b) {
    DemoUtils.isTureOrFalse(b).trueOrFalseHandle(() -> {
      LOGGER.info("true 分支");
    }, () -> {
      LOGGER.info("false 分支");
    });
  }

  //consumer，运行函数
  public static void isBlankOrNoBlank(String str) {
    List<String> list = new ArrayList<String>();
    DemoUtils.isBlankOrNoBlank(str).presentOrElseHandle(n -> {
      LOGGER.info("str.length():{}", str.length());
      list.add(str);
    }, () -> {
      LOGGER.info("空字符串");
    });
    list.stream().forEach(s -> System.out.println(s));
  }

}
